package tree.simple;

import tree.TreeNode;

/**
 * 翻转二叉树
 * 给你一棵二叉树的根节点 root ，翻转这棵二叉树，并返回其根节点。
 *
 * 示例 1：
 * 输入：root = [4,2,7,1,3,6,9]
 * 输出：[4,7,2,9,6,3,1]
 * 示例 2：
 * 输入：root = [2,1,3]
 * 输出：[2,3,1]
 *
 * 链接：https://leetcode-cn.com/problems/invert-binary-tree
 */
public class InvertBinaryTree_226 {

    public TreeNode invertTree(TreeNode root) {
        return dfs(root);
    }

    public TreeNode dfs(TreeNode node) {
        if (node == null) {
            return null;
        }
        TreeNode left = dfs(node.left);
        TreeNode right = dfs(node.right);
        node.left = right;
        node.right = left;
        return node;
    }


}
